package com.ym.medical.service;

import com.github.pagehelper.PageInfo;
import com.ym.core.utils.tkmybatis.IBaseSV;
import com.ym.medical.domain.entity.StudioRelatedFormEntity;
import com.ym.medical.domain.param.StudioRelatedFormUpdateParam;
import com.ym.medical.domain.vo.StudioRelatedFormVo;

/**
 * 工作室相关申请表Service接口
 *
 * @author ym
 * @date 2020-09-14
 */
public interface IStudioRelatedFormSV extends IBaseSV<StudioRelatedFormEntity> {


	/**
	 * 新增工作室相关申请表
	 *
	 * @param updateParam 工作室相关申请表 新增对象
	 * @return 结果
	 */
	Long insertPC(StudioRelatedFormUpdateParam updateParam);

	/**
	 * 修改工作室相关申请表
	 *
	 * @param updateParam 工作室相关申请表 修改参数
	 * @return 结果
	 */
	int updateByIdPC(StudioRelatedFormUpdateParam updateParam);

	/**
	 * 查看工作室的申请
	 *
	 * @param id
	 * @return
	 */
	StudioRelatedFormVo queryJoinStudioAppServ(Long id);

	/**
	 * 申请工作室相关
	 *
	 * @param doctId
	 */
	void applyToJoinTheStudio(StudioRelatedFormEntity studioRelatedForm, Long doctorId);

	/**
	 * 审核加入工作室的申请
	 *
	 * @param id
	 * @param informationId 相关的消息ID
	 * @param checkState
	 * @param sign
	 * @param reviewOpinion
	 * @throws Exception
	 */
	void checkJoinStudioServApp(Long id, Long informationId, String checkState, String sign, String reviewOpinion);

	/**
	 * 查询
	 *
	 * @param id
	 * @param joinType
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	PageInfo<StudioRelatedFormVo> studioReviewList(Long loginId, String joinType, int pageNum, int pageSize);
}
